home *** CD-ROM | disk | FTP | other *** search
- Path: solon.com!not-for-mail
- From: seebs@solutions.solon.com (Peter Seebach)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu
- Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada)
- Date: 9 Apr 1996 10:11:29 -0500
- Organization: Usenet Fact Police (Undercover)
- Message-ID: <4kdun1$2kk@solutions.solon.com>
- References: <JSA.96Feb16135027@organon.com> <dewar.828987544@schonberg> <4kcein$mev@solutions.solon.com> <dewar.829054330@schonberg>
- Reply-To: seebs@solon.com
- NNTP-Posting-Host: solutions.solon.com
-
- In article <dewar.829054330@schonberg>, Robert Dewar <dewar@cs.nyu.edu> wrote:
- >OK, "it" here is any specification of how long the buffer should be. So
- >Peter considers it undefined, in which case *any* call to read is
- >undefined. Actually I completely agree, if the spec of a routine is
- >incomplete or imprecise, the routine cannot be called without generating
- >undefined behavior.
-
- Well, read() can't be called in C. Assuming POSIX, the behavior is clearly
- defined, but no specification is made of which if any boundaries are checked;
- thus, the only safe thing to do is comply with all of them reliably.
-
- >But in the absence of Kazimir to tell us the "unwritten" rules, isn't it
- >just possible that this *might* lead to portability problems :-) Of course
- >by Peter's rules, we can't call read at all :-)
-
- Not in C. My rule would be that if a function does not say something is safe,
- you shouldn't do it. The normal descriptions of read() (I've read dozens, and
- they're all pretty much equivalent) describe the behavior in terms of a buffer
- having enough space to hold nbytes of data.
-
- >Peter do you have SPEC1170, I assume you must have a copy, so can you
- >see there if the spec is any more illuminating?
-
- No, I don't have a copy. Spec 1170 is nearly as expensive as ANSI, and I get
- expensive specs only once or twice a year.
-
-
-
- -s
- --
- Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
- C/Unix wizard -- C/Unix questions? Send mail for help. No, really!
- FUCK the communications decency act. Goddamned government. [literally.]
- The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
-